Methods and systems for a job suggestions engine and talent timeline in a talent management application

ABSTRACT

Techniques for automatically suggesting one or more employment positions are provided. A method may include receiving, by a computing device, candidate data relating to an employment position candidate. The computing device may then match the employment position candidate with one or more employment positions based on the received candidate data. Once the employment position candidate is matched with the one or more employment positions, the computing device may generate one or more suggested employment positions for the employment position candidate, wherein the one or more suggested employment positions are automatically generated based on the matching of the employment position candidate with the one or more employment positions.

CROSS REFERENCES TO RELATED APPLICATIONS

The present application is a non-provisional of and claims the benefitand priority under 35 U.S.C. § 119(e) of U.S. Provisional ApplicationNo. 61/699,593 filed Sep. 11, 2012 entitled “METHODS AND SYSTEMS FOR AJOB SUGGESTION ENGINE AND TALENT TIMELINE IN A TALENT MANAGEMENTAPPLICATION,” and U.S. Provisional Application No. 61/699,600 filed Sep.11, 2012 entitled “METHODS AND SYSTEMS FOR PROVIDING A TALENT INDEX INAN INTERFACE FOR A TALENT MANAGEMENT APPLICATION,” the entire contentsof each which is hereby incorporated by reference for all purposes. Thisapplication is also related to application Ser. No. 14/023,310 filed onthe same day herewith, entitled “METHODS AND SYSTEMS FOR PROVIDINGPREDICTIVE METRICS IN A TALENT MANAGEMENT APPLICATION,” the entirecontents of which is hereby incorporated by reference as if fully setforth herein, under 35 U.S.C. § 120.

BACKGROUND

Job search and posting techniques for providing information to jobcandidates and employers are limited to either the supply side of themarket or the demand side of the market. Additionally, these priortechniques do not and cannot track recruiting engagements as end-to-endtransactions. Therefore, any conclusions drawn from data in theseapproaches is severely limited. For example, one prior approach involvesusing a jobs board to post jobs. Such a board can have and can accesssignificant amounts of data about the demand side of the market,including open positions. Some approaches try to aggregate this data byscraping jobs boards and building a representation of the job marketbased on postings. However, such boards do not have visibility into theavailable candidates or the filled positions. Accordingly, approachesusing jobs board information do not know when the position is filled orwho filled it. As another example, various professional social networksmay be used to collect data. These networks can have and can accesstremendous amounts of information about the supply side of the market,such as available candidates. However, there is no visibility into anduse of the entire hiring process, including application, interview,offer, and acceptance, such that it can be considered a completedtransaction.

BRIEF SUMMARY

Techniques for matching a candidate to one or more employment positionsand suggesting employment positions to the candidate are provided. Insome embodiments, a computer-implemented method may be provided thatincludes receiving, by a computing device, candidate data relating to anemployment position candidate. The method may further include matchingthe employment position candidate with one or more employment positionsbased on the received candidate data, and generating one or moresuggested employment positions for the employment position candidate,wherein the one or more suggested employment positions are automaticallygenerated based on the matching of the employment position candidatewith the one or more employment positions.

In some embodiments, a job suggestion system may be provided thatincludes a memory storing a plurality of instructions and one or moreprocessors configured to access the memory. The one or more processorsmay be further configured to execute the plurality of instructions to:receive candidate data relating to an employment position candidate;match the employment position candidate with one or more employmentpositions based on the received candidate data; and generate one or moresuggested employment positions for the employment position candidate,wherein the one or more suggested employment positions are automaticallygenerated based on the matching of the employment position candidatewith the one or more employment positions.

In some embodiments, a computer-readable memory storing a plurality ofinstructions executable by one or more processors may be provided,wherein the plurality of instructions may include instructions thatcause the one or more processors to receive candidate data relating toan employment position candidate. The instructions may further includeinstructions that cause the one or more processors to match theemployment position candidate with one or more employment positionsbased on the received candidate data. The instructions may furtherinclude instructions that cause the one or more processors to generateone or more suggested employment positions for the employment positioncandidate, wherein the one or more suggested employment positions areautomatically generated based on the matching of the employment positioncandidate with the one or more employment positions.

The foregoing, together with other features and embodiments, will becomemore apparent upon referring to the following specification, claims, andaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different figures indicates similaror identical items.

FIG. 1 is a block diagram illustrating components of an exemplaryoperating environment in which various embodiments of the presentapplication may be implemented.

FIG. 2 is a block diagram illustrating an exemplary computer system inwhich embodiments of the present application may be implemented.

FIG. 3 illustrates a flowchart of an embodiment of a process forautomatically suggesting one or more employment positions to a candidateaccording to one embodiment of the present application.

FIGS. 4-20 illustrate exemplary user interfaces for a talent recruitingapplication according to one embodiment of the present application.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of various embodiments of the present application. It willbe apparent, however, to one skilled in the art that embodiments of thepresent application may be practiced without some of these specificdetails. In other instances, well-known structures and devices are shownin block diagram form.

The ensuing description provides exemplary embodiments only, and is notintended to limit the scope, applicability, or configuration of thedisclosure. Rather, the ensuing description of the exemplary embodimentswill provide those skilled in the art with an enabling description forimplementing an exemplary embodiment. It should be understood thatvarious changes may be made in the function and arrangement of elementswithout departing from the spirit and scope of the application as setforth in the appended claims.

Specific details are given in the following description to provide athorough understanding of the embodiments. However, it will beunderstood by one of ordinary skill in the art that the embodiments maybe practiced without these specific details. For example, circuits,systems, networks, processes, and other components may be shown ascomponents in block diagram form in order not to obscure the embodimentsin unnecessary detail. In other instances, well-known circuits,processes, algorithms, structures, and techniques may be shown withoutunnecessary detail in order to avoid obscuring the embodiments.

Also, it is noted that individual embodiments may be described as aprocess which is depicted as a flowchart, a flow diagram, a data flowdiagram, a structure diagram, or a block diagram. Although a flowchartmay describe the operations as a sequential process, many of theoperations can be performed in parallel or concurrently. In addition,the order of the operations may be re-arranged. A process is terminatedwhen its operations are completed, but could have additional steps notincluded in a figure. A process may correspond to a method, a function,a procedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination can correspond to a return of thefunction to the calling function or the main function.

The term “machine-readable medium” includes, but is not limited toportable or fixed storage devices, optical storage devices, wirelesschannels and various other mediums capable of storing, containing orcarrying instruction(s) and/or data. A code segment ormachine-executable instructions may represent a procedure, a function, asubprogram, a program, a routine, a subroutine, a module, a softwarepackage, a class, or any combination of instructions, data structures,or program statements. A code segment may be coupled to another codesegment or a hardware circuit by passing and/or receiving information,data, arguments, parameters, or memory contents. Information, arguments,parameters, data, etc. may be passed, forwarded, or transmitted via anysuitable means including memory sharing, message passing, token passing,network transmission, etc.

Furthermore, embodiments may be implemented by hardware, software,firmware, middleware, microcode, hardware description languages, or anycombination thereof. When implemented in software, firmware, middlewareor microcode, the program code or code segments to perform the necessarytasks may be stored in a machine readable medium. A processor(s) mayperform the necessary tasks.

Embodiments of the present application are directed to a talentrecruiting application which can be used by recruiters and/or managersof a business to recruit and hire candidates for open positions or bythe candidates to locate and apply for open positions. Such applicationscan be implemented in many different ways but in some cases are offeredas a cloud-based Software as a Service (SaaS) offering in which theapplication, running on one or any number of computers, can be madeavailable to customers, typically corporations or other businesses, foruse in recruiting talent for open positions.

When offered as SaaS, as a hosted solution, or any other software basedservice, the talent recruiting application can generate, maintain, anduse very large amounts of data related to past and present openpositions as well as past and present candidates. For example, thetalent recruiting application may receive data relating to a pluralityof positions from a group of customers, which may include variouscompanies or businesses that subscribe to the talent recruitingapplication. The data received from the group of customers may includedetails of the various positions, such as the location of the position,the description of the candidate requirements, salary expectations,where the position will be posted, and the like. The data may beanalyzed to provide insights into detailed statistics of the positionsbased on information included in the data, such as when and where theposition is posted, when one or more applications are submitted bycandidates, whether and when any interviews of candidates have beenconducted, whether and when offers of employment have been submitted tocandidates, whether and when an acceptance of any offers have beenreceived from candidates, and/or details regarding on-boarding ofcandidates as new employees of the companies. Embodiments of the presentapplication are directed to an application that not only maintains suchdata but that also tracks a posting for an open position and recruitingengagements as a transaction. These transaction can be tracked frombeginning to end, i.e., from a posting of an open position, to anapplication by a candidate, to an interview of the candidate, to anoffer of employment in the position to that candidate, to an acceptanceof the offer by the candidate, and even to on-boarding of the candidateas a new employee of the company. Such extensive, end-to-end data,especially when viewed across multiple different customers orbusinesses, can be used to provide visibility into dynamics of thetalent market that would otherwise not be available.

Prior approaches to providing such information were limited to eitherthe supply side of the market, such as the candidates, or the demandside of the market, such as the companies or businesses that have openpositions. Additionally, these prior approaches did not and could nottrack recruiting engagements as end-to-end transactions. Therefore, anyconclusions drawn from data in these approaches were severely limited.For example, one prior approach involves a jobs board. Such a board canhave and can access significant amounts of data about the demand side ofthe market (i.e., the open positions). Some approaches try to aggregatethis data by scraping jobs boards and building a representation of thejob market based on postings. But, such boards do not have visibilityinto the available candidates or the filled positions. That is,approaches using jobs board information do not know when the position isfilled or who filled it. In another approach, various professionalsocial networks can be used to collect data. These networks can have andcan access tremendous amounts of information about the supply side ofthe market (e.g., candidates). But still, there is no visibility into oruse of information relating to the entire process, including submissionof an application, interview(s), offer, and acceptance, such that it canbe considered a completed transaction.

In embodiments of the present application, the talent recruitingapplication can provide visibility into both supply and demandcomponents of the market to the point where the actual transaction getsconsummated, i.e., a candidate gets hired. This is different from a jobsboard or social network approaches in that they may know only a piece ofthe transaction. For example, a job board or social network approach mayonly know that a job is available or that someone is looking for aposition. However, neither of these platforms are aware that there hasactually been an application, interview, offer, and/or acceptance. Thetalent recruiting application of the present application can also haveaccess to other information, such as information about the source for acandidate (e.g., where/how did the candidate learn about this job). Suchinformation might come from a candidate or from a business seeking tofill an open position. In either case, such information providesadditional visibility into that transaction.

Using that visibility, embodiments of the present application aredirected to providing an engaging candidate experience for a candidateseeking an employment position. For example, an interface of the talentrecruiting application allows clients to post open positions andcandidates to search for open positions. Tools can also be provided tothe recruiters and managers to provide and support the candidateexperience so that they can find a right employment position match.Thus, embodiment of the present application include aspects focused onthe recruiter and a requisition for open positions, as well as aspectsfocused on the candidates and providing information about openpositions.

For example in one scenario, a manager can post a requisition for a jobthrough an interface of the talent recruiting application. According toone embodiment, considerations such as how hard is it to hire, how muchshould the business expect to pay, and how long will it take to fill anopen position can be quantified as a single measure or index that givesthe marketplace an indication of relative difficulty for particularpositions. This “talent index” can be a representation of the marketbased on quantitative and statistical analysis of previous transactionsand can give a relative measure of the market between geographic areas.In other words, the extensive data available to the talent recruitingapplication can be applied across many businesses, markets (i.e.,geographic areas), positions, etc. to provide analytics including, butnot limited to a talent index, various market metrics to helprecruiters, managers, and the like make decisions about hiring, and toperform what-if analysis based on timelines, locations, sources forcandidates, and the like to provide information and insight into themarket for recruiters and managers. Additionally or alternatively, whena recruiter or manager creates a requisition, other information can beprovided to the recruiter where to look for candidates, etc. Forexample, software engineers in the San Francisco Bay Area are plentifulbut there is also big demand for them there. So, it is actually a toughmarket. But another market might be better for trying to build a team ofsoftware engineers and therefore might be recommended.

In some embodiments, the talent recruiting application can also providea wide variety of information to the candidate. That is, using thesetools, recruiters can include additional information about the company,such as what the company does, why it might be a good fit for acandidate, cultural aspects, work environment, neighborhood,transportation, schools, etc. collected from third-party sources orprovided by recruiter or manager or from any of a variety of othersources. Together, such information can provide a work culture contextfor candidates to learn more about the organization. In some cases,additional dimensions that might be important to the candidates can bedefined by the candidate, the recruiter, by others recommending theposition, current employees, etc. Together, this information creates theright kind of content for a particular open position and for aparticular candidate. In other words, information is provided to morefully engage the candidate and market the company and the position tothe candidate.

In another scenario, a candidate looking for a job can be presented withjob suggestions based on preferences. For example, the talent recruitingapplication can build a profile for a candidate based on informationfrom various social networks, directly from the candidate, from personsrecommending the candidate, etc. Then, the candidate can receive jobrecommendations from the talent recruiting application based on theprofile and other preferences and criteria for the open positions. Oncethe candidate becomes interested in a particular job, the candidate canapply through the same interface as the information is presented. Withthe application process, additional, perhaps more detailed, informationabout the company can be supplied to the candidate. The attributes ofthe candidate and the open position that can be utilized by the talentrecruiting application can provide additional richness beyond simplekeyword searching thus providing a better sense of a match between thetwo.

Embodiments of the present application can also include a matchingengine of the talent recruiting application for identifying potentialmatches between candidates and open positions. For example, once acandidate logs in and based on the profile for that candidate asdiscussed above, some suggestions can be made. In some cases, the usercan fine tune preferences to adjust the recommendations. The matches canbe based on data normalized between employers and candidates to mapdifferent expressions of the same criteria, attributes, and preferences.

According to one embodiment, matches and information related to matchingpositions can be provided in a timeline profile view of potential futureco-workers. That is, when a candidate is applying and viewing companyinformation, the talent recruiting application can show profiles forselected current employees of the company, e.g., potentialco-workers/team members, etc. This view can include experience,education, etc. for those selected employees presented in a graphicalformat like a timeline. Other applications and uses, as well asvariations in the exact implementation of various embodiments of thepresent application are contemplated and considered within the scope ofthe present application.

Various specific embodiments relating to the talent recruitingapplication will now be described below with respect to FIGS. 1-20.

FIG. 1 is a block diagram illustrating components of an exemplaryoperating environment in which various embodiments of the presentapplication may be implemented. The system 100 can include one or moreuser computers 105, 110, which may be used to operate a client, whethera dedicate application, web browser, etc. The user computers 105, 110can be general purpose personal computers (including, merely by way ofexample, personal computers and/or laptop computers running variousversions of Microsoft Corp.'s Windows and/or Apple Corp.'s Macintoshoperating systems) and/or workstation computers running any of a varietyof commercially-available UNIX or UNIX-like operating systems (includingwithout limitation, the variety of GNU/Linux operating systems). Theseuser computers 105, 110 may also have any of a variety of applications,including one or more development systems, database client and/or serverapplications, and web browser applications. Alternatively, the usercomputers 105, 110 may be any other electronic device, such as athin-client computer, Internet-enabled mobile telephone, and/or personaldigital assistant, capable of communicating via a network (e.g., thenetwork 115 described below) and/or displaying and navigating web pagesor other types of electronic documents. Although the exemplary system100 is shown with two user computers, any number of user computers maybe supported.

In some embodiments, the system 100 may also include a network 115. Thenetwork may can be any type of network familiar to those skilled in theart that can support data communications using any of a variety ofcommercially-available protocols, including without limitation TCP/IP,SNA, IPX, AppleTalk, and the like. Merely by way of example, the network115 maybe a local area network (“LAN”), such as an Ethernet network, aToken-Ring network and/or the like; a wide-area network; a virtualnetwork, including without limitation a virtual private network (“VPN”);the Internet; an intranet; an extranet; a public switched telephonenetwork (“PSTN”); an infra-red network; a wireless network (e.g., anetwork operating under any of the IEEE 802.11 suite of protocols, theBluetooth protocol known in the art, and/or any other wirelessprotocol); and/or any combination of these and/or other networks such asGSM, GPRS, EDGE, UMTS, 3G, 2.5 G, CDMA, CDMA2000, WCDMA, EVDO etc.

The system may also include one or more server computers 120, 125, 130which can be general purpose computers and/or specialized servercomputers (including, merely by way of example, PC servers, UNIXservers, mid-range servers, mainframe computers rack-mounted servers,etc.). One or more of the servers (e.g., 130) may be dedicated torunning applications, such as a business application, a web server,application server, etc. Such servers may be used to process requestsfrom user computers 105, 110. The applications can also include anynumber of applications for controlling access to resources of theservers 120, 125, 130.

The web server can be running an operating system including any of thosediscussed above, as well as any commercially-available server operatingsystems. The web server can also run any of a variety of serverapplications and/or mid-tier applications, including HTTP servers, FTPservers, CGI servers, database servers, Java servers, businessapplications, and the like. The server(s) also may be one or morecomputers which can be capable of executing programs or scripts inresponse to the user computers 105, 110. As one example, a server mayexecute one or more web applications. The web application may beimplemented as one or more scripts or programs written in anyprogramming language, such as Java™, C, C# or C++, and/or any scriptinglanguage, such as Perl, Python, or TCL, as well as combinations of anyprogramming/scripting languages. The server(s) may also include databaseservers, including without limitation those commercially available fromOracle®, Microsoft®, Sybase®, IBM® and the like, which can processrequests from database clients running on a user computer 105, 110.

In some embodiments, an application server may create web pagesdynamically for displaying on an end-user (client) system. The web pagescreated by the web application server may be forwarded to a usercomputer 105 via a web server. Similarly, the web server can receive webpage requests and/or input data from a user computer and can forward theweb page requests and/or input data to an application and/or a databaseserver. Those skilled in the art will recognize that the functionsdescribed with respect to various types of servers may be performed by asingle server and/or a plurality of specialized servers, depending onimplementation-specific needs and parameters.

The system 100 may also include one or more databases 135. Thedatabase(s) 135 may reside in a variety of locations. By way of example,a database 135 may reside on a storage medium local to (and/or residentin) one or more of the computers 105, 110, 115, 125, 130. Alternatively,it may be remote from any or all of the computers 105, 110, 115, 125,130, and/or in communication (e.g., via the network 120) with one ormore of these. In a particular set of embodiments, the database 135 mayreside in a storage-area network (“SAN”) familiar to those skilled inthe art. Similarly, any necessary files for performing the functionsattributed to the computers 105, 110, 115, 125, 130 may be storedlocally on the respective computer and/or remotely, as appropriate. Inone set of embodiments, the database 135 may be a relational database,such as Oracle 10 g, that is adapted to store, update, and retrieve datain response to SQL-formatted commands.

FIG. 2 illustrates an exemplary computer system 200, in which variousembodiments of the present application may be implemented. The system200 may be used to implement any of the computer systems describedabove. The computer system 200 is shown comprising hardware elementsthat may be electrically coupled via a bus 255. The hardware elementsmay include one or more central processing units (CPUs) 205, one or moreinput devices 210 (e.g., a mouse, a keyboard, etc.), and one or moreoutput devices 215 (e.g., a display device, a printer, etc.). Thecomputer system 200 may also include one or more storage device 220. Byway of example, storage device(s) 220 may be disk drives, opticalstorage devices, solid-state storage device such as a random accessmemory (“RAM”) and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable and/or the like.

The computer system 200 may additionally include a computer-readablestorage media reader 225 a, a communications system 230 (e.g., a modem,a network card (wireless or wired), an infra-red communication device,etc.), and working memory 240, which may include RAM and ROM devices asdescribed above. In some embodiments, the computer system 200 may alsoinclude a processing acceleration unit 235, which can include a DSP, aspecial-purpose processor and/or the like.

The computer-readable storage media reader 225 a can further beconnected to a computer-readable storage medium 225 b, together (and,optionally, in combination with storage device(s) 220) comprehensivelyrepresenting remote, local, fixed, and/or removable storage devices plusstorage media for temporarily and/or more permanently containingcomputer-readable information. The communications system 230 may permitdata to be exchanged with the network 220 and/or any other computerdescribed above with respect to the system 200.

The computer system 200 may also comprise software elements, shown asbeing currently located within a working memory 240, including anoperating system 245 and/or other code 250, such as an applicationprogram (which may be a client application, web browser, mid-tierapplication, RDBMS, etc.).

In some embodiments, the working memory 240 stores a plurality ofinstructions. The central processing units (CPUs) 205 may be configuredto access the working memory 240 and to execute the plurality ofinstructions to receive candidate data relating to an employmentposition candidate, match the employment position candidate with one ormore employment positions based on the received candidate data, andgenerate one or more suggested employment positions for the employmentposition candidate, wherein the one or more suggested employmentpositions are automatically generated based on the matching of theemployment position candidate with the one or more employment positions.

It should be appreciated that alternate embodiments of a computer system200 may have numerous variations from that described above. For example,customized hardware might also be used and/or particular elements mightbe implemented in hardware, software (including portable software, suchas applets), or both. Further, connection to other computing devicessuch as network input/output devices may be employed. Software ofcomputer system 200 may include code 250 for implementing embodiments ofthe present application as described herein.

FIG. 3 illustrates an exemplary process 300 for automatically suggestingone or more suggested employment positions to a candidate. Process 300is illustrated as a logical flow diagram, the operation of whichrepresent a sequence of operations that can be implemented in hardware,computer instructions, or a combination thereof. In the context ofcomputer instructions, the operations represent computer-executableinstructions stored on one or more computer-readable storage media that,when executed by one or more processors, perform the recited operations.Generally, computer-executable instructions include routines, programs,objects, components, data structures, and the like that performparticular functions or implement particular data types. The order inwhich the operations are described is not intended to be construed as alimitation, and any number of the described operations can be combinedin any order and/or in parallel to implement the processes.

Additionally, the process 300 may be performed under the control of oneor more computer systems configured with executable instructions and maybe implemented as code (e.g., executable instructions, one or morecomputer programs, or one or more applications) executing collectivelyon one or more processors, by hardware, or combinations thereof. Asnoted above, the code may be stored on a computer-readable storagemedium, for example, in the form of a computer program comprising aplurality of instructions executable by one or more processors. Thecomputer-readable storage medium may be nontransitory.

In some aspects, the process 300 may be performed by a computing device,such as the one or more server computers 120, 125, 130 shown in FIG. 1or the computer system 200 shown in FIG. 2.

Process 300 may begin at 302 by receiving, by a computing device,candidate data relating to an employment position candidate. Thecandidate may be subscribed to a talent recruiting application. In someembodiments, the candidate data is included in a candidate profile. Forexample, a candidate profile may include data collected based on pastactivity by the candidate in a job search application (which may be partof the talent recruiting application) or past activity by the candidateon one or more websites. The past activity may include past job searchesby the candidate, an amount of time spent by the candidate looking at aparticular employment position, an amount of time spent by the candidateviewing an employer's website, and the like. In some embodiments, thecandidate profile may include candidate supplied data received directlyfrom the candidate. The candidate data may include demographic data ofthe candidate, such as a residence, an age, a gender, a hobby or otherinterest, and the like of the candidate. The candidate data may furtherinclude a desired location, a salary range expectation, job experience,and the like. The candidate data may also be automatically collectedfrom various sources, such as one or more social networks, from personsrecommending the candidate, and the like.

At 304, the process 300 matches the employment position candidate withone or more employment positions based on the received candidate data.At 306, the process 300 generates one or more suggested employmentpositions for the employment position candidate, wherein the one or moresuggested employment positions are automatically generated based on thematching of the employment position candidate with the one or moreemployment positions. Matching of the candidate to the one or moreemployment positions may include matching the candidate data (e.g.,keywords, salary range, and the like) to a plurality of employmentpositions stored in a database. For example, the candidate data may bematched to criteria from each of the employment positions. As a result,a candidate looking for a job can be presented with suggested employmentpositions based on candidate data. For example, the talent recruitingapplication and/or the job search application can build and/or access aprofile for a candidate based on information received from varioussocial networks, directly from the candidate, from persons recommendingthe candidate, etc. The candidate can then receive job recommendationsfrom the talent recruiting application and/or the job search applicationbased on the profile and other preferences and criteria for the openpositions.

In some embodiments, the method further includes receiving one or morelog-in credentials from the employment position candidate, and providingthe employment position candidate with access to the job searchapplication and/or the talent recruiting application in response toreceiving the one or more log-in credentials. For example, a user mayprovide the log-in credentials in order to access the job searchapplication. After the user logs in to the application, the one or moresuggested employment positions may be displayed in a graphical interfaceupon the employment position candidate being provided with access to thejob search application. For example, as soon as the user logs into theapplication, one or more suggested jobs may be automatically displayedfor the user based on the candidate data received for the candidate.Accordingly, in some embodiments, a candidate may be provided withsuggested jobs without having to provide any information to theapplication. For example, various data may be automatically collectedfor the candidate (e.g., collected based on past activity by thecandidate on the job search application or one or more websites,collected from various social networks, collected from personsrecommending the candidate, based on information collected directly fromthe candidate, and the like) and jobs that match the candidate'sexperience and interests may be suggested to the candidate based on thecollected data. In some cases, the user can fine tune preferences and/orthe candidate profile to adjust the recommendations. The matches can bebased on data normalized between employers and candidates to mapdifferent expressions of the same criteria, attributes, and preferences.

In some embodiments, the candidate can apply to one or more of thesuggested employment positions through the same interface as theinformation is presented. With the application process, additional,perhaps more detailed, information about the company can be supplied tothe candidate.

In some embodiments, employment position matches for the candidate andinformation related to the positions matches may be provided in atimeline profile view of potential future co-workers. That is, when acandidate is applying and viewing company information, the talentrecruiting application may show profiles for selected current employeesof the company, e.g., potential co-workers/team members, etc. This viewcan include experience, education, etc. for those selected employeespresented in a graphical format like a timeline. Other applications anduses, as well as variations in the exact implementation of variousembodiments of the present application are contemplated and consideredwithin the scope of the present application.

The above process described in FIG. 3 may be implemented and thesuggested employment positions, in addition to other data, may be outputusing one or more graphical interfaces. FIGS. 4-20 illustrate exemplarygraphical user interfaces for a talent recruiting application and/or ajob search application according to various embodiments of the presentapplication.

FIG. 4 illustrates an exemplary graphical interface 400 for a talentrecruiting application and/or a job search application. A candidate mayprovide one or more log-in credentials in order to be authenticated andlogged into the job search application. Once the candidate is loggedinto the application, the graphical interface 400 may be presented tothe candidate, and a welcome message 402 welcoming the candidate to theapplication may be displayed.

The graphical interface 400 may also automatically display the suggestedemployment positions 406-410 upon the candidate logging into theapplication. For example, after the user logs in, the application mayautomatically match the candidate with employment positions that arestored in a database based on the received candidate data. As oneexample, data may be collected for a candidate indicating that thecandidate is a software developer with 3 years of Java developmentexperience that is currently earning $68,000 per year, that lives in SanJose, Calif., but desires to make greater than $75,000 and to live inSeattle, Wash. The data may be automatically collected based on theuser's activity in the application or on one or more other applicationsand/or websites (e.g., social networking sites, job boards, jobnetworking sites, technology blogs, instant messaging applications, andthe like) or may be collected directly from the user. The data may beincluded in a candidate profile for the candidate. The candidate maythen be matched with employment positions 406-410 stored in a databasebased on the collected data, and the employment positions 406-410 maythen be generated and displayed as suggested employment positions viagraphical interface 400. In some embodiments, suggested employmentpositions may be ranked based on the best matches for the candidate. Forexample, employment position 406 may be a top ranked employment positionthat matches the candidate's experience, matches the candidate's desiredlocation (Seattle), and matches or exceeds the candidate's desiredsalary range. Employment position 408 may be ranked below employmentposition 406 because the location is in San Jose, Calif., but rankedhigher than employment position 410 because the experience and salaryrange more closely match the candidate's credentials. Employmentposition 410 may be ranked below employment positions 406 and 408because the salary range and experience are on the lower end of thecandidate's credentials.

Based on the matching, the employment positions 406-410 may be suggestedto the user when the user is presented with graphical interface 400. Insome embodiments, the user may click or otherwise select a jobsuggestion icon or other button in order to generate the suggestedemployment positions 406-410. In some embodiments, the candidate canapply to one or more of the suggested employment positions 406-410 byselecting icons 412, 414, and/or 416. Additional, more detailed,information about the company can be supplied to the candidate duringthe application process. The candidate may log off of the application atany time by clicking or otherwise selecting log-off icon 418.

FIG. 5 illustrates an exemplary graphical interface 500 that allows auser within an organization (e.g., a department manager, an HR manager,etc.) to look at filled positions and open positions within theorganization. The user may select or click on one of the open positionsin order to advance to the graphical interface depicted in FIG. 6 anddetermine whether to post a job posting for the open position. Forexample, the user may select the open position for “Java Developer II,”which will advance the graphical interface to the screen 600 displayedin FIG. 6. Various tabs 610-625 may be selected by a user to displaydifferent options relating to the open position.

Referring to FIG. 6, the Competitive Metrics tab 610 is selected, whichprovides the screen 600 displaying the various position details of theJava Developer II position. A job description is provided in section 605describing what the position entails. For example, section 605 includesthe position level, the organization within the company, the region orlocation where the position is located, the name of the manager, thecost center, the head count of open positions, and whether or not theposition has been approved. The position metrics 630 section describesthe requirements of the position, including education, experience,salary range, specific location, and a graphical chart providing acomparison of the salary range for the location compared to the positionsalary range for the location.

Market metrics 635 are also displayed, providing various predictivemetrics that are derived from data received from a plurality ofcustomers. As illustrated in the screen 600, a talent availability ratioand an estimated time to hire are provided along with charts depicting agraphical representation of the metrics. For example, the talentavailability ratio metric provides a comparison of open positions topossible candidates for those positions. A ratio may be providedindicating that there is a 4:1 ratio of open positions to candidates.The estimated time to hire metric provides a comparison of the time tohire in the market versus the time to hire at the company, as well as achart showing the historical trend across a period of time. As depictedon the screen 600, the time to hire in the particular market is 130days.

A talent index 640 is also displayed in the screen 600. For example, thetalent index 640 provides a single measure or value that gives themarketplace an indication of relative difficulty for particularpositions based on the various predictive metrics calculated using thecustomer data. The talent index is a representation of current marketconditions based on quantitative and statistical analysis of previouspostings, interviews, hirings, and the like, which can be derived fromthe customer data. The talent index can thus give a relative measure ofthe market between geographic areas. The user may select the “What if?”Modeling tab 615 to adjust the position requirements, which may resultin an updated talent index score.

In response to a selection of the “What if?” Modeling tab 615, graphicalinterface 700 may be displayed, as illustrated in FIG. 7. The positionmetrics 630 section now enables the user to adjust the positionrequirements, such as the educational requirements, experiencerequirements, salary range, and/or the location. For example, the usermay select a map icon, which results in the display of the graphicalinterface 800 illustrated in FIG. 8. The graphical interface 800 shows amap of the Northwestern United States with color coordinated talentindex indications. The city of San Jose is outlined in bold because itis currently selected by the user. The color coordinated talent indexindicates what the talent index is for the various locations accordingto the currently selected position metrics 630. For example, theBakersfield-Deland area has a talent index of over 70 (indicated ingreen) according to the position metrics of a Bachelor's degree, 3-5years of experience, and a salary range of $75,000-$95,000. The user mayclick or otherwise select a new location within the map in order to makea location selection in the position metrics 630.

As the user adjusts the position metrics, the results 705 may bedynamically updated in real time. The results 705 section provides acomparison of the talent availability ratio, the estimated time to hire,and the talent index prior to the change in the position metrics versusafter the change. For example, FIG. 9 illustrates a graphical interface900 showing a change in the talent availability ratio, the estimatedtime to hire, and the talent index after the user has updated thelocation from San Jose, Calif. to Seattle, Wash. As illustrated, thetalent availability ratio increased from 4:1 in San Jose to 1:3 inSeattle. The increase in the talent availability ratio indicates thatmore candidates are available in Seattle than in San Jose. Furthermore,the estimated time to hire increased from 130 days in San Jose to 58days in Seattle. As a result, the talent index increased from 29 to 72,indicating that the market conditions in Seattle are better for hiringtalent for the Java Developer II position as compared to the market inSan Jose.

The user may select the Requisition tab 620 in order to advance to thegraphical interface 1000 illustrated in FIG. 10. The user may now buildthe requisition posting that will be provided to candidates using one ormore employment sources. As used herein, the term “requisition” refersto a position that may be posted by a company, recruiter, or other useras a job posting. A new set of tabs 1010-1030 is depicted in thegraphical interface 1000, which allow the user to specify variousdetails for the requisition. For example, the Job Details tab 1010enables the user to enter requisition details for the Java Developer IIposition. These details may include a detailed job description,qualifications, job responsibilities, owners of the position, and thelike.

As illustrated in FIG. 11, the user may select the Who Works Here? Tab1015 in order to provide in graphical interface 1100 details regardingpeople with whom a potential candidate for the position would work. Forexample, the team of people that work in the same department may belisted along with a profile listing their position, location, contactinformation, and the like. Furthermore, a “Did you Know?” section may bedisplayed that provides useful information regarding the quality ofemployee referrals as a source for candidate hires. For example, the“Did you Know?” section may indicate that current and former employeereferrals have a high source quality (indicating that many candidatesapply based on a current employee referral) and a high hire quality(indicating the retention quality of hired candidates). A numerical oralphabetical indication may be used to show the quality of the source,and may include a percentage or an A-F rating (with A being the highestand F being the lowest).

As illustrated in FIG. 12, the user may select the What is it like towork here? Tab 1020 in order to provide information regarding theculture of the company in graphical interface 1200. For example, asummary of the culture may be provided in the Our Company Culturesection. Pictures and/or a description may be entered in the What We DoFor Fun section to provide a snapshot of different activities that thecurrent employees of the company engage in. For example, the employeesmay periodically take kayaking trips, go bowling, and/or have parties asa team. The user may provide details and pictures describing thedifferent activities so that a potential candidate can have an insideperspective on the company's culture.

Other cultural details may be provided in the Cultural Elements section,as illustrated in FIG. 13. For example, slide bars or other adjustablegraphical elements may be provided to indicate the scale of differentcultural factors. For example, cultural factors may include dresscode,market position, company size, how we work, etc. The example illustratedin FIG. 13 indicates that the company has a casual dresscode, a mediumto large market position, a medium size, and a mixed collaborativeenvironment. The Cultural Elements section thus gives a potentialcandidate an idea of how the company culture may be from an everydayworkday perspective.

FIG. 14 illustrates graphical interface 1400 that shows work environmentdetails in response to selection of the What is the work environment?Tab 1025. For example, in The Office section, pictures and/or adescription of the office may be displayed to provide a potentialcandidate with an idea of the physical office environment. A potentialcandidate may be intrigued by the fact that the company has a game roomwithin the office building, which may entice them to apply to theposition. Furthermore, in The Tools section, different devices that maybe provided to the potential candidate if hired are displayed. Adescription may also be provided to describe the purpose and/orfunctions of the tools. A section describing The Neighborhood may alsobe provided with information on the proximity surrounding the office.For example, information may be provided for the neighborhood itself,such as whether the company is in walking distance to restaurants,public transportation, workout facilities, and the like.

As illustrated in FIG. 15, a user may select the Advertise your positiontab 1030 to review potential sources that may be used to post theposition. Different source effectiveness values or scores may beprovided for each displayed source. The graphical interface 1500 mayinclude a Job Boards section 1510 that lists a group of job boardsources that the user can potentially use to post the Java Developer IIposition. Each job board source may have a source effectiveness valuefor source quality and hire quality in the company's market and withinthe company. The job boards may be suggested based on the sourceeffectiveness values. The job boards may also be ranked in the graphicalinterface 1500 based on the source effectiveness values. The sourceeffectiveness values may be a numerical or alphabetical value used toshow the quality of the source, and may include a percentage or an A-Frating (with A being the highest and F being the lowest). For example,the job board Dice may have a source effectiveness value of B for sourcequality within the market and an A for hire quality within the market.However, within the company, the source quality may have a value of A.As a comparison, the job board Monster may have lower source and hirequalities both in the market and within the company, as compared to Diceand CareerBuilder. The user may click or otherwise select the Monstertab in order to see further details on the job board, as illustrated inFIG. 16. For example, various graphical charts may show different sourceeffectiveness values over time, such as average number of applicationsper hire for source quality and percentages of hires that were retainedfor at least one year for hire quality. If the user does not wish topost to Monster based on the poor source effectiveness values, the usermay select the x-button 1515 shown in FIG. 15 in order to remove Monsterfrom the Job Boards section, as illustrated in the graphical interface1700 of FIG. 17.

Returning to FIG. 15, a Did you Know? Section 1505 may be displayed inthe graphical interface 1500 providing the user with an indication ofone or more less well-known sources that the particular user may not beaware of. For example, the user may be a project manager that lives inSan Jose, but has decided to hire for the Java Developer II position inSeattle based on the metrics comparison illustrated in FIG. 9 indicatingthat better talent is available in Seattle. Did you Know? Section 1505may suggest the Microsoft Alumni Network (MSA) as a good source for theuser to source from based on all of the data that the talent recruitingapplication has received and aggregated from different companies ororganizations recruiting in the Washington area. The user may click orotherwise select the Microsoft Alumni Network (MSA) tab in order to viewmore details on the job source, as illustrated in FIG. 18. A graph forsource quality indicates a number of applications per hire using the MSAsource. A graph for hire quality indicates that approximately 80% of allhires were retained for at least one year. If the user decides to postto the MSA source, the user may drag-and-drop or otherwise indicate thedesire to use the MSA source as a posting source for the Java DeveloperII position, as illustrated in the MSA tab 1905 of FIG. 19. The user mayadd further sources by selecting the Career Sites tab and/or theReferral Networks and Social Media tab. The career site, referralnetwork, and social media sources may be added and/or deleted in asimilar manner as the job board sources described above.

After the user has entered in all of the requisition, company, cultural,environmental, and source details, the user may select the actionsbutton, which results in the display of an actions list 2005 in thegraphical interface 2000 illustrated in FIG. 20. The actions list 2005allows the user to choose among various choices, such as exporting theselected sources, saving the requisition for posting at a later time, orposting the requisition to the selected sources.

In the foregoing description, for the purposes of illustration, methodswere described in a particular order. It should be appreciated that inalternate embodiments, the methods may be performed in a different orderthan that described. It should also be appreciated that the methodsdescribed above may be performed by hardware components or may beembodied in sequences of machine-executable instructions, which may beused to cause a machine, such as a general-purpose or special-purposeprocessor or logic circuits programmed with the instructions to performthe methods. These machine-executable instructions may be stored on oneor more machine readable mediums, such as CD-ROMs or other type ofoptical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magneticor optical cards, flash memory, or other types of machine-readablemediums suitable for storing electronic instructions. Alternatively, themethods may be performed by a combination of hardware and software.

While illustrative embodiments of the application have been described indetail herein, it is to be understood that the inventive concepts may beotherwise variously embodied and employed, and that the appended claimsare intended to be construed to include such variations, except aslimited by the prior art.

What is claimed is:
 1. A computer-implemented method, comprising:retrieving training data for a plurality of employment positionsreceived from a plurality of employment position sources, wherein thetraining data is in one or more sequence file formats; pre-aggregatingthe training data; converting the pre-aggregated training data into aset of sparse vectors from the one or more sequence file formats;training a classifier model with the set of sparse vectors, wherein theclassifier model is configured to determine a employment position sourceeffectiveness for an employment position source, wherein the employmentposition source effectiveness is associated with a likelihood a jobseeker will be hired for an employment position if the job seekerapplies through the employment position source; receiving, by acomputing device, candidate data relating to an employment positioncandidate; matching the employment position candidate with one or moreemployment positions based on the received candidate data and the one ormore employment positions; generating a suggested employment positionfor the employment position candidate, wherein the suggested employmentposition is automatically generated based on the matching of theemployment position candidate with the one or more employment positions;generating a first set of graphical user interface data configured to beused by a user device to display a first graphical user interface,wherein the first graphical user interface displays the suggestedemployment position and a predicted employment position sourceeffectiveness associated with an employment position source of theplurality of employment position sources, the predicted employmentposition source effectiveness determined by applying the classifiermodel to the suggested employment position and to the received candidatedata relating to the employment position candidate; sending thefirst-set of graphical user interface data to the user device;receiving, from the user device, a request for additional informationassociated with the suggested employment position; determining a set offilled positions within a same department of a same organization as thesuggested employment position, wherein each filled position of the setof filled positions comprises a name of an employee and a position name;determining a set of open positions within the same department of thesame organization as the suggested employment position, wherein eachopen position of the set of open positions comprises a position name,and wherein the set of open positions includes the suggested employmentposition; determining a hierarchical structure among the positions ofthe set of filled positions and the set of open positions, wherein thehierarchical structure comprises a set of hierarchical connections,wherein each hierarchical connection indicates a relationship between atleast two of the positions; generating a second set of graphical userinterface data configured to be used by the user device to display asecond graphical user interface comprising: the set of filled positions;the set of open positions; and the hierarchical structure among thepositions, wherein each open position of the set of open positions isselectable to display additional position details associated with thatopen position; and sending the second set of graphical user interfacedata to the user device.
 2. The method of claim 1, further comprising:receiving one or more log-in credentials from the employment positioncandidate; and providing the employment position candidate with accessto a job search application in response to receiving the one or morelog-in credentials.
 3. The method of claim 2, wherein the candidate datais included in a candidate profile, wherein the candidate profileincludes data collected based on past activity by the employmentposition candidate in the job search application.
 4. The method of claim1, wherein the candidate data is included in a candidate profile,wherein the candidate profile includes data supplied by the employmentposition candidate.
 5. The method of claim 1, wherein the candidate dataincludes demographic data of the employment position candidate.
 6. Themethod of claim 5, wherein the demographic data includes one or more ofa residence, an age, a gender, or a hobby of the employment positioncandidate.
 7. The method of claim 1, wherein the candidate data includesone or more past job searches performed by the employment positioncandidate.
 8. A job suggestion system, comprising: a memory storing aplurality of instructions; and one or more processors configured toaccess the memory, wherein the one or more processors are furtherconfigured to execute the plurality of instructions to: retrievetraining data for a plurality of employment positions received from aplurality of employment position sources, wherein the training data isin one or more sequence file formats; pre-aggregate the training data;convert the pre-aggregated training data into a set of sparse vectorsfrom one or more sequence file formats; train a classifier model withthe set of sparse vectors, wherein the classifier model is configured todetermine a employment position source effectiveness for an employmentposition source, wherein the employment position source effectiveness isassociated with a likelihood a job seeker will be hired for anemployment position if the job seeker applies through the employmentposition source; receive candidate data relating to an employmentposition candidate; match the employment position candidate with one ormore employment positions based on the received candidate data and theone or more employment positions; generate a suggested employmentposition for the employment position candidate, wherein the suggestedemployment position is automatically generated based on the matching ofthe employment position candidate with the one or more employmentpositions; generate a first set of graphical user interface dataconfigured to be used by a user device to display a first graphical userinterface, wherein the first graphical user interface displays thesuggested employment position and a predicted employment position sourceeffectiveness associated with an employment position source of theplurality of employment position sources, the predicted employmentposition source effectiveness determined by applying the classifiermodel to the suggested employment position and to the received candidatedata relating to the employment position candidate; send the firstset ofgraphical user interface data to the user device; receive, from the userdevice, a request for additional information associated with thesuggested employment position; determine a set of filled positionswithin a same department of a same organization as the suggestedemployment position, wherein each filled position of the set of filledpositions comprises a name of an employee and a position name; determinea set of open positions within the same department of the sameorganization as the suggested employment position, wherein each openposition of the set of open positions comprises a position name, andwherein the set of open positions includes the suggested employmentposition; determine a hierarchical structure among the positions of theset of filled positions and the set of open positions, wherein thehierarchical structure comprises a set of hierarchical connections,wherein each hierarchical connection indicates a relationship between atleast two of the positions; generate a second set of graphical userinterface data configured to be used by the user device to display asecond graphical user interface comprising: the set of filled positions;the set of open positions; and the hierarchical structure among thepositions, wherein each open position of the set of open positions isselectable to display additional position details associated with thatopen position; and send the second set of graphical user interface datato the user device.
 9. The system of claim 8, wherein the one or moreprocessors are further configured to execute the plurality ofinstructions to: receive one or more log-in credentials from theemployment position candidate; and provide the employment positioncandidate with access to a job search application in response toreceiving the one or more log-in credentials.
 10. The system of claim 9,wherein the candidate data is included in a candidate profile, whereinthe candidate profile includes data collected based on past activity bythe employment position candidate in the job search application.
 11. Thesystem of claim 8, wherein the candidate data is included in a candidateprofile, wherein the candidate profile includes data supplied by theemployment position candidate.
 12. The system of claim 8, wherein thecandidate data includes demographic data of the employment positioncandidate.
 13. The system of claim 12, wherein the demographic dataincludes one or more of a residence, an age, a gender, or a hobby of theemployment position candidate.
 14. The system of claim 8, wherein thecandidate data includes one or more past job searches performed by theemployment position candidate.
 15. A computer-implemented method,comprising: retrieving training data for a plurality of employmentpositions received from a plurality of employment position sources,wherein the training data is in one or more sequence file formats;pre-aggregating the training data; converting the pre-aggregatedtraining data into a set of sparse vectors from the one or more sequencefile formats; training a classifier model with the set of sparsevectors, wherein the classifier model is configured to determine aemployment position source effectiveness for an employment positionsource, wherein the employment position source effectiveness isassociated with a likelihood a job seeker will be hired for anemployment position if the job seeker applies through the employmentposition source; receiving, by a computing device, candidate datarelating to an employment position candidate; matching the employmentposition candidate with one or more employment positions based on thereceived candidate data and the one or more employment positions;generating a suggested employment position for the employment positioncandidate, wherein the suggested employment position is automaticallygenerated based on the matching of the employment position candidatewith the one or more employment positions; generating a set of graphicaluser interface data configured to be used by a user device to display agraphical user interface including the suggested employment position anda predicted employment position source effectiveness associated with anemployment position source of the plurality of employment positionsources, the predicted employment position source effectivenessdetermined by applying the classifier model to the suggested employmentposition and to the received candidate data relating to the employmentposition candidate; and sending the set of graphical user interface datato the user device.
 16. The method of claim 15, further comprising:receiving one or more log-in credentials from the employment positioncandidate; and providing the employment position candidate with accessto a job search application in response to receiving the one or morelog-in credentials.
 17. The method of claim 16, wherein the candidatedata is included in a candidate profile, wherein the candidate profileincludes data collected based on past activity by the employmentposition candidate in the job search application.
 18. The method ofclaim 15, wherein the candidate data is included in a candidate profile,wherein the candidate profile includes data supplied by the employmentposition candidate.
 19. The method of claim 15, wherein the candidatedata includes demographic data of the employment position candidate. 20.The method of claim 15, wherein the candidate data includes one or morepast job searches performed by the employment position candidate.